package agent

import (
	"fmt"
	apis2 "gluenet/pkg/apis"
	"gluenet/pkg/meta"
)

func ListAgent(ctx *apis2.GlueContext) {
	var (
		err error
		key string
	)
	ctx.Logger.Debugf("get agent guid: %v", key)

	//查询数据库
	var ags []meta.Agent
	if err = ctx.DataBase.AgentListAll(&ags); err != nil {
		ctx.Logger.Errorf("query error %v", err)
		ctx.WebContext.JSON(apis2.ResponseReqErr(fmt.Errorf("query error:%v, or data is nil", err), nil))
		return
	}
	//if len(ags) == 0 {
	//	ctx.Logger.Warnf("data is nil", err)
	//	ctx.WebContext.JSON(apis.ResponseOK(nil))
	//	return
	//}

	//返回结果
	n, _ := ctx.WebContext.JSON(apis2.ResponseOK(ags))
	ctx.Logger.Debugf("list config response bytes: %v", n)
}

func GetAgent(ctx *apis2.GlueContext) {
	var (
		err error
		key string
	)
	key = ctx.WebContext.URLParam("guid")

	ctx.Logger.Debugf("get agent guid: %v", key)

	//查询数据库
	var ags *meta.Agent
	if err = ctx.DataBase.AgentGet(key, &ags); err != nil {
		ctx.Logger.Errorf("query error %v", err)
		ctx.WebContext.JSON(apis2.ResponseReqErr(fmt.Errorf("query error:%v, or data is nil", err), nil))
		return
	}
	//if len(ags) == 0 {
	//	ctx.Logger.Warnf("data is nil", err)
	//	ctx.WebContext.JSON(apis.ResponseOK(nil))
	//	return
	//}

	//返回结果
	n, _ := ctx.WebContext.JSON(apis2.ResponseOK(ags))
	ctx.Logger.Debugf("list config response bytes: %v", n)
}
